package com.haiyou.data.common.accessor.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 节点策略
 * 
 * @author hong
 *
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.FIELD, ElementType.TYPE })
@Inherited
@Documented
public @interface NodePolicy {

	/**
	 * redis节点个数
	 * 
	 * 节点计算是用CRC16
	 * 生成最大为65535,多节点设置建议使用2^n,最多节点个数512,节点个数越多多数据存取(getAll(),putAll()...)性能越差,单条存取无较大差异
	 * 
	 * @return
	 */
	int nodeSize() default 16;
}
